import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import *


testCase="DBshop004_取消订单流程"
# 1.在首页搜索"小米",点击搜索按钮
webdriver=openBrowser(url) #调用自定义函数打开网页,url的值是在testData文件中定义的
#调用自定义函数进行登录
DBshopLogin(webdriver,userName,password)
#在首页的搜索框输入小米
webdriver.find_element_by_xpath('//input[@name="keywords"]').send_keys('小米')
#点击搜索按钮
webdriver.find_element_by_xpath('//input[@type="submit"]').click()
# 2.选择小米mix3,加入到购物车,点击购物车按钮
# #下拉右侧滚动条
# firefox.execute_script("window.scrollTo(0,500)")
# priceElement=firefox.find_element_by_id('goods_price_8')
# #调用自定义函数进行模拟鼠标移动
# moveToElement(firefox,priceElement)
# #点击加入购物车按钮
# firefox.find_element_by_xpath('//a[@onclick="add_cart(8, 2);"]').click()
# #点击进入购物车
# firefox.find_element_by_id('J_miniCart').click()
#点击商品图片弹出新页面
webdriver.find_element_by_xpath('//a[@href="/dbshop/goods/8/2"]').click()
#调用函数切换页面
switchWindow(webdriver,2)
#在新页面中点击加入购物车按钮
webdriver.find_element_by_id('add_cart_submit').click()
time.sleep(2)
webdriver.find_element_by_link_text('去购物车结算').click()
# 3.点击"去结算"按钮
webdriver.find_element_by_link_text('去结算').click()
webdriver.find_element_by_xpath('//input[@value="下一步"]').click()
webdriver.find_element_by_xpath('//input[@value="yezf"]').click()
webdriver.find_element_by_xpath('//input[@value="确认订单"]').click()
orderNO=webdriver.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text

webdriver.find_element_by_xpath('//input[@value="查看订单详情"]').click()
webdriver.find_element_by_name('search_order_sn').send_keys(orderNO) #输入订单编号
webdriver.find_element_by_xpath('//button').click() #点击搜索按钮

webdriver.find_element_by_xpath('//button[text()="取消订单"]').click()
webdriver.switch_to.alert.accept()

webdriver.find_element_by_partial_link_text('无效订单').click()#点击交易完成页签
webdriver.find_element_by_name('search_order_sn').send_keys(orderNO) #输入订单编号
webdriver.find_element_by_xpath('//button').click() #点击搜索按钮
#断言
try:
    webdriver.find_element_by_link_text(orderNO)
    writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(webdriver)
webdriver.quit() #quit()函数有2个作用 1.关闭所有页面 2.关闭浏览器对象 quit()函数建议放到脚本的最后
